// ---------------------------------------------------------------------------
//  File:user_interface.h
//
//  Description: Contains the data types, constants, and forward declarations
//               used to build the FLTK user interface
//
//  Author: golden.colorado.5280@gmail.com
//
//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
//  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
//  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
//  DEALINGS IN THE SOFTWARE.
// ---------------------------------------------------------------------------

#ifndef USER_INTERFACE_H_INCLUDED
#define USER_INTERFACE_H_INCLUDED

//User Interface (FLTK) Libraries
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Ask.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Show_Colormap.H>


//Libraries to work with strings
#include <iostream>
#include <iomanip>      //std::setPrecision
#include <sstream>

//Format related definitions
#define FONTSIZE 12     //size of the text on the right side of the form

//Default values for the GUI
#define DEFAULT_LAT         0.00    //decimal degrees
#define DEFAULT_LON         0.00    //decimal degrees
#define DEFAULT_RADIUS      10      //km
#define DEFAULT_STEP_SIZE   10      //km
#define DEFAULT_NUM_RINGS   5       //total number of rings that will be generated around center point
#define DEFAULT_MAX_RINGS   100     //max number of rings a user can generate (arbitrary number)
#define DEFAULT_OPACITY     60      //opacity of the rings
#define DEFAULT_LINE_THICKNESS 0    //thickness of the ring outline
#define DEFAULT_KML_NAME "kml_name"  //name of the KML file containing the rings

//Forward Declaration
int user_interface();

#endif // USER_INTERFACE_H_INCLUDED
